package com.xin.ruanjian.omsystem.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

/**

 * 判断手机号是否正确，支持大陆和香港
 */
public class PhoneFormatCheckUtils {
    public static boolean isPhoneLegal(String str) throws PatternSyntaxException {
        return isChinaPhoneLegal(str) || isHKPhoneLegal(str);
    }

    private static boolean isHKPhoneLegal(String str) {
        String regExp= "^(5|6|8|9)\\d{7}$";
        Pattern p= Pattern.compile(regExp);
        Matcher m=p.matcher(str);
        return m.matches();
    }

    private static boolean isChinaPhoneLegal(String str) {
        String regExp="^((13[0-9])|(15[^4])|(18[0-9])|(17[0-8])|(147))\\d{8}$";
        Pattern p= Pattern.compile(regExp);
        Matcher m=p.matcher(str);
        return m.matches();
    }
}
